// 导入安装的axios
import axios from 'axios'
import { ElMessage } from 'element-plus'
// 导入路由
import router from '../router'

// 创建axios请求实例,并暴
const myaxios = axios.create({
    baseURL: '/api/',
    timeout: 30000,
    headers: { 'X-Custom-Header': 'foobar' }
});

// 添加请求拦截器
myaxios.interceptors.request.use(
    function (config) {
    // 在发送请求之前做些什么
    // 一般是添加token再发送
    config.headers.Authorization = window.localStorage.getItem('token')
    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 添加响应拦截器
myaxios.interceptors.response.use(
    function (response) {
    if (response.data.code === 0) {
    // ElMessage({
        //     showClose: true,
        //     message: response.data.userMsg,
        //     type: 'success',
        // })
    }
    if (response.data.code === 1002) {
        ElMessage({
            showClose: true,
            message: "权限不足",
            type: 'error',
        })
    }
    else if (response.data.code === 1000) {
        ElMessage({
            showClose: true,
            message: "登录已过期，请重新登录",
            type: 'error',
        })
        router.push("/login");
    }
    else if(response.data.code === 5000){
        ElMessage({
            showClose: true,
            message: response.data.userMsg,
            type: 'error',
        })
    }
    return response.data;
}, function (error) {
    ElMessage({
        showClose: true,
        message: error,
        type: 'error',
    })
    return error;
});
//暴露接口
export default myaxios;
